Deep Learning I
11. 注意力机制
WU Xiaokun 吴晓堃
xkun.wu [at] gmail
2022/05/09
注意力是稀缺资源:价值体现在机会成本
视觉神经系统:每秒大概接受几十兆信息,远超大脑处理能力
Were you listening to me, Neo? Or were you looking at the woman in the red dress?
– The Matrix
双组件框架:自主性、非自主性
非自主性:基于物体的突出性、易见性
自主性:基于主观意志
非自主性:简单全连接,甚至最大池化均可
主观意志是自主性注意力的关键,可看成主动查询
[Nadaraya 1964] [Watson 1964] 根据输入的位置对输出加权
f(x) = \sum_i \frac{K(x-x_i)}{\sum_j K(x-x_j)} y_i
注意力池化:f(x) = \sum_i \alpha(x,x_i)y_i
注意:NW核回归是非参数模型;核是超参数,只取决于设计,一般用高斯核
高斯核:高斯函数的简化版本
K(u) = \frac{1}{\sqrt{2 \pi}} \exp(- \frac{u^2}{2})
代入注意力池化公式
\begin{aligned} f(x) &= \sum_i \alpha(x,x_i)y_i\\ &= \sum_i \frac{\exp(- \frac{1}{2} (x-x_i)^2)}{\sum_j \exp(- \frac{1}{2} (x-x_j)^2)} y_i\\ &= \sum_i \text{softmax} \left( - \frac{1}{2} (x-x_i)^2 \right) y_i\\ \end{aligned}
测试数据的输入相当于查询,训练数据的输入相当于键
非参数 NW 核回归:一致性,即不偏向某个“键”x_i
带参数注意力池化:添加可学习参数w到度量函数,即区分“键”的重要性
\begin{aligned} f(x) &= \sum_i \alpha(x,x_i)y_i\\ &= \sum_i \frac{\exp(- \frac{1}{2} ((x-x_i)w)^2)}{\sum_j \exp(- \frac{1}{2} ((x-x_j)w)^2)} y_i\\ &= \sum_i \text{softmax} \left( - \frac{1}{2} ((x-x_i)w)^2 \right) y_i\\ \end{aligned}
主观意志是自主性注意力的关键,可看成主动查询
注意力池化:f(x) = \sum_i \alpha(x,x_i)y_i
注意力池化:f(x) = \sum_i \alpha(x,x_i)y_i
softmax输出“键”的概率分布,即注意力权重注意力池化:f(x) = \sum_i \alpha(x,x_i)y_i
查询\mathbf{q}和m个“键-值”对(\mathbf{k}_m,\mathbf{v}_m)
f(\mathbf{q},(\mathbf{k}_1,\mathbf{v}_1),..,(\mathbf{k}_m,\mathbf{v}_m)) = \sum_i \alpha(\mathbf{q},\mathbf{k}_i) \mathbf{v}_i
评分函数\alpha
\alpha(\mathbf{q},\mathbf{k}_i) = \text{softmax}(a(\mathbf{q},\mathbf{k}_i)) = \frac{\exp(a(\mathbf{q},\mathbf{k}_i))}{\sum_j \exp(a(\mathbf{q},\mathbf{k}_j))}
如果查询和键是不同长度的向量:转成相同维数
\alpha(\mathbf{q},\mathbf{k}) = \mathbf{w}_v^T \tanh(\mathbf{W}_q \mathbf{q} + \mathbf{W}_k \mathbf{k})
如果查询和键是相同长度的向量:点积的计算效率更高
\alpha(\mathbf{q},\mathbf{k}) = \mathbf{q}^T \mathbf{k} / \sqrt{d}
小批量提高效率:n个查询、m个键-值对
\text{softmax} \left( \frac{\mathbf{Q\mathbf{K}^T}}{\sqrt{d}} \right) \mathbf{V}
问题:并非所有源词元对当前预测都有用
[Bahdanau 2014] 仅考虑与当前预测相关的输入子序列
初始化解码器状态需要以下输入
每个解码时间步:上一时间步的最终层隐状态用作查询
注意力提示。注意力池化。注意力评分函数。Bahdanau 注意力。
重点:两类注意力;Nadaraya-Watson 核回归、注意力池化;注意力权重、注意力评分函数;Bahdanau 注意力。
难点:Bahdanau 注意力模型的实现。
简述两类注意力的区别与建模思路。
简述两类注意力池化的原理、计算方法。
简述两类评分函数的原理、计算方法。
简述 Bahdanau 注意力模型。